home *** CD-ROM | disk | FTP | other *** search
- Path: keats.ugrad.cs.ubc.ca!not-for-mail
- From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu
- Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada)
- Date: 9 Apr 1996 08:40:02 -0700
- Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
- Message-ID: <4ke0ciINNgg8@keats.ugrad.cs.ubc.ca>
- References: <JSA.96Feb16135027@organon.com> <dewar.828987544@schonberg> <4kcein$mev@solutions.solon.com> <dewar.829054330@schonberg>
- NNTP-Posting-Host: keats.ugrad.cs.ubc.ca
-
- In article <dewar.829054330@schonberg>, Robert Dewar <dewar@cs.nyu.edu> wrote:
- >I said
- >
- >>>Can you quote the relevant standard. No description of read I ever saw
- >>>was detailed or precise enough to say what the requirements on the caller
- >>>are.
- >
- >Peter said
- >
- >>If it is not specified, it's undefined. At least, that's how C does it;
- >>no guarantees for POSIX.
- >
- >Robert replies
- >
- >OK, "it" here is any specification of how long the buffer should be. So
- >Peter considers it undefined, in which case *any* call to read is
- >undefined. Actually I completely agree, if the spec of a routine is
- >incomplete or imprecise, the routine cannot be called without generating
- >undefined behavior.
- >
- >But in the absence of Kazimir to tell us the "unwritten" rules, isn't it
- >just possible that this *might* lead to portability problems :-) Of course
- >by Peter's rules, we can't call read at all :-)
-
- No, the _rational_ rules. I slipped up in my mention of ``unwritten rules''
- because in this case they happen to coincide with the rational ``Bayesian''
- choice. In other cases, as in the case of select(), they may not.
-
- I did not mean to imply that I would not falsely advertize a buffer to read()
- simply because I feel that there is an unwritten rule among a community of
- programmers which prohibits this. I would not do this due to a reasoning
- process, which may come up with an answer that is different from the concensus.
- A later clarification in the standard, and subsequent compliance by all
- implementations, may render my assumption paranoid, but until then the rational
- choice gives a fighting chance that the program will work and be portable.
-
- I recognize that there are cases where such reasoning may fail to achieve a
- resolution. In the Pascal table, you may have a "you are screwed" in each row
- and column, in which case you must consider additional alternatives.
-
- >Peter do you have SPEC1170, I assume you must have a copy, so can you
- >see there if the spec is any more illuminating?
-
- That would be helpful.
-
- ---
-
- A good friend of mine says: you can spot a programmer in a one way street---he
- is the one who looks both ways before crossing.
- --
-
-